package entities;

import services.impl.StandardOPs;
import java.util.List;
import java.util.LinkedList;
import java.util.ArrayList;
import java.util.Arrays;
import java.time.LocalDate;
import java.io.Serializable;
import java.lang.reflect.Method;

public class Report implements Serializable {
	
	/* all primary attributes */
	private String ReportId;
	private LocalDate GenerateDate;
	private String Summary;
	
	/* all references */
	private Staff ReportToStaff; 
	private List<SessionRecord> ReportToSessionRecord = new LinkedList<SessionRecord>(); 
	
	/* all get and set functions */
	public String getReportId() {
		return ReportId;
	}	
	
	public void setReportId(String reportid) {
		this.ReportId = reportid;
	}
	public LocalDate getGenerateDate() {
		return GenerateDate;
	}	
	
	public void setGenerateDate(LocalDate generatedate) {
		this.GenerateDate = generatedate;
	}
	public String getSummary() {
		return Summary;
	}	
	
	public void setSummary(String summary) {
		this.Summary = summary;
	}
	
	/* all functions for reference*/
	public Staff getReportToStaff() {
		return ReportToStaff;
	}	
	
	public void setReportToStaff(Staff staff) {
		this.ReportToStaff = staff;
	}			
	public List<SessionRecord> getReportToSessionRecord() {
		return ReportToSessionRecord;
	}	
	
	public void addReportToSessionRecord(SessionRecord sessionrecord) {
		this.ReportToSessionRecord.add(sessionrecord);
	}
	
	public void deleteReportToSessionRecord(SessionRecord sessionrecord) {
		this.ReportToSessionRecord.remove(sessionrecord);
	}
	


}
